package Work07;

import java.util.*;

public class HelloworldTest {
    /*需求：

1.利用键盘录入，输入一个字符串,统计该字符串中各个字符的数量

2.如用户输入字符串:"helloworld java",程序输出结果：h(1)e(1)l(3)o(2) (2)w(1)r(1)d(1)j(1)a(2)v(1)

3.注：输出结果不要求顺序一致

答案：
*/
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入字符串");
        String sc = scanner.next();
        char[] arr = sc.toCharArray();//字符数组保存输入的数据
        List<Character> list = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            int num = i;
            list.add(arr[i]);
        }
        Map<Character, Integer> map = new HashMap<>();//设置map集合实现记录每个字符出现了多少次
        for (Character character : list) {//循环list集合
            if (map.containsKey(character)) {//判定此时map的键是否有该字符，若已有则该字符对应的键的值加一，然后放回map集合
                Integer integer = map.get(character);
                integer++;
                map.put(character, integer);
            } else {
                Integer integer = map.get(character);//若没有该字符则默认该字符为1 然后放回map集合
                integer = 1;
                map.put(character, integer);
            }
        }
        System.out.println(map);//输出结果
    }
}
